library(tidyverse)
library(ggplot2)
library(here)
library(treemapify)
library(extrafont)
library(RColorBrewer)
library(gridExtra)
library(rgdal)
library(sf)
library(rnaturalearth)
library(rnaturalearthdata)
library(raster)
library(maptools)
library(stringr)
library(grid)

Introduction

In this analysis we explore some trends that women labour force participation (WLFP) has followed since 1980 in OECD countries.

After finding that WLFP has grown at very different rates, and up to various levels, in different regions of the world –being particularly high in Nordic countries– we dive deeper into some potential partial explanations for this phenomenon.

For instance, as recent literature suggests, public policies incentivizing the substitution of leisure or household work with market labor might partially explain higher female labor participation both at the extensive (employment status) and at the intensive (hours) margin.

Indeed, our analysis shows some meaningful differences in the public spending patterns between OECD countries/regions with higher and lower female labor participation.1

##### Build a Customized ggplot2 Theme:
theme_ebg <- theme(line=element_line(size=0.5, lineend = 'round' ),
                   rect=element_rect(fill = "white", colour = "grey26"),
                   text=element_text(family = "Trebuchet MS", colour = "grey26" ),
                   aspect.ratio = 0.75,
                   plot.margin = margin(0.75,0.75,0.75,0.75, 'cm'),
                   plot.background = element_rect(fill = "white", colour = "lightcyan3",
                                                  size = 3),
                
                   plot.title=element_text(size = rel(2.25), color="grey26", hjust = 0, 
                                           vjust = 1.75, face = "bold"),
                   plot.subtitle = element_text(size = rel(1.65), color="lightcyan4",
                                         hjust = 0, vjust = 2),
                   panel.background = element_rect(colour = "grey80", fill = 'white'),
                   panel.grid.major = element_line(colour = "grey90", size=0.20),
                   
                   axis.text = element_text(size=16, colour = "grey50", vjust = 0),
                   axis.ticks.x = element_line(size=1.25, colour = "grey50"),
                   axis.ticks.y = element_line(size=1.25, colour = "grey50"),
                   axis.ticks.length = unit(0.25, "cm"),
                   axis.title.y = element_text(size = rel(1.5), angle = 90, face = "bold",
                                               vjust = 0),
                   axis.title.x = element_text(size = rel(1.5), angle = 0, face = "bold",
                                               vjust = -4),
                   
                   legend.justification = "center",
                   legend.box.background = element_rect(colour = "grey90"),
                   legend.box.margin = margin(0.5,0.5,0.5,0.5),
                   legend.text = element_text(size = rel(1.35)),
                   legend.title = element_text(size = rel(1.5), face = "bold",
                                               colour = "lightcyan4"),
                   legend.key = element_rect(fill = "grey96"),
                   strip.background = element_rect(colour = "grey80", fill = "grey96"),
                   strip.text.x = element_text(hjust=0.1, color='grey40',
                                               size = rel(1.25),  face = "bold"),
                   plot.caption = element_text(vjust=-2, size = rel(1.25)),
                   panel.spacing = unit(0.5, "cm"))

####### I. Data Loading and Pre-processing 

### I.1 Hours Worked and Skill Mismatch

# Hours worked dataset:
hoursw <- read.csv(here("data", "oecd_hoursw.csv"))

#  Function to create 'region' column:

add_region <- function(df) {
df <- mutate(df, Region = ifelse(Country %in% c('Sweden', 'Norway','Denmark','Finland'), "Nordic",
                                   ifelse(Country %in% c('Japan', 'Korea'), 'Asia',
                                     ifelse(Country %in% c('Germany', 'Netherlands','Luxembourg', 'France',
                                             'Hungary', 'Poland', 'Austria', 'Belgium', 'Czech Republic',
                                             'Switzerland'), 'Western Europe', 
                                            ifelse(Country %in% c('Spain', 'Italy', 'Portugal', 'Greece'), "Mediterranean",
                                               'Rest')))))
  return(df)
}

plot_rounded <- function(p) {
g <- ggplotGrob(p)
bg <- g$grobs[[1]]
round_bg <- roundrectGrob(x=bg$x, y=bg$y, width=bg$width, height=bg$height,
                          r=unit(0.08, "snpc"),
                          just=bg$just, name=bg$name, gp=bg$gp, vp=bg$vp)
g$grobs[[1]] <- round_bg
cowplot::plot_grid(g)
}

hoursw <- add_region(hoursw) 

# Obtain mean weekly hours worked on average over 1980-2017 for each country:
means <- hoursw %>% 
  group_by(Country, Region) %>% 
  summarise(av_hours = mean(Value, na.rm = TRUE)) %>%
  arrange(av_hours)

# Add job mismatch data to the small summary dataset:
mism <- read.csv(here("data","mism.csv"))
mism_oq <- filter(mism, Indicator %in% c('Overqualification'))
means <- merge(means, mism_oq, by = c("Country"), all.x = TRUE) # not helpful, too broad

hw_mm <- merge(hoursw, mism_oq, by = c("Country"), all.x = TRUE)
hw_mm_16 <- filter(hw_mm, Time.x == 2016)

## I. 2 Public Sector Size, Population, and LFP

# Load and process employment participation rate data:
epr <- read.csv(here("data", "lfs.csv"))
epr <-  add_region(epr) 
epr_allage <- filter(epr, AGE %in% c('1564'))
epr_lfs <- filter(epr_allage, Series %in% c('Labour force participation rate'))


epr_lfs16 <- filter(epr_lfs, Time==2016)
epr_lfs16 <- filter(epr_lfs16, !Sex == 'All persons')
epr_lfs_mm <- merge(epr_lfs16, mism_oq, by = c("Country"), all.x = TRUE)
epr_lfs_mmna <- filter(epr_lfs_mm, !Region == 'Asia') # data NA

# Build arbitrary color palettes for arbitrary size vars:
gg_color_hue <- function(n) {
  hues = seq(15, 375, length=n+1)
  hcl(h=hues, l=65, c=100)[1:n]
}

# Build arbitrary color palettes for regions:
mycols <- gg_color_hue(length(unique(means$Region)))
names(mycols) <- unique(means$Region)

mycols["Rest"] <- "grey50"
mycols["Nordic"] <- "#80b1d3"
mycols["Asia"] <- "#fb9a99"
mycols["Western Europe"] <- "#dfc27d"
mycols["Mediterranean"] <- "#af77d0"

##### I.3 LFP DATASET, TIME SERIES BY GENDER

# Labour force participation rate:
lfp <- filter(epr_allage, Series %in% c('Labour force participation rate'))
lfp <-rename(lfp, LFP = Value)

lfpw <- filter(lfp, SEX %in% c('WOMEN')) # fem lfs
lfpmw <- filter(lfp, SEX %in% c('MEN'))
lfpmw$LFP_W <- lfpw$LFP
lfpmw <- mutate(lfpmw, mw_dif = ((LFP - LFP_W)))

##########  IV. Public Expenditures by Type and Women LFP

# Government Size: measured as the ratio of total taxation to GDP
tax <- read.csv(here("data", "tax.csv"))
total_tax <- filter(tax, TAX %in% c('TOTALTAX'))
names(total_tax)[names(total_tax) == 'Year'] <- 'Time'
df <- merge(lfpmw, total_tax, by = c("Country", "Time")) 
names(df)[names(df) == 'Value'] <- 'Tax'

# Load and process job strain data:
jobq <- read.csv(here("data", "jobq.csv"))
jobq <- filter(jobq, Age== 'Total')
jobq <- filter(jobq, Components == 'Job Strain')
jobq <- filter(jobq, Education == 'Total')
jobq <- filter(jobq, Sex == 'Total')

JSindex<- jobq %>% 
  group_by(Country) %>% 
  summarise(JobStrain = mean(Value))

# Add job strain index to the dataset:
df_LGQ <- merge(df, JSindex, by = c("Country"), all.x = TRUE) # lfp, tax, jobstr
gov_exp <- read.csv(here("data", "gov_exp.csv"))

gov_exp$Indicator <- sub(", percentage of GDP.*", "", gov_exp$Indicator)
gov_exp$Indicator <- sub("General government expenditure by function,*", "", gov_exp$Indicator)
gov_exp$Indicator <- sub(", percentage of total expenditure of general government (GG)*", "", gov_exp$Indicator)
gov_exp$Indicator <- sub(", percentage of total expenditure of GG*", "", gov_exp$Indicator)

gov_exp <- filter(gov_exp, !Indicator %in% c('Net lending/net borrowing, General government',
                                             'Total general government (GG) revenue', 'Net saving of General Government',
                                             'Adjusted debt of general government', 'Gross debt of general government',
                                             ' total expenditure', 'Social benefits other than social transfers in kind',
                                             'Social transfers in kind'))
gov_exp$Indicator <- sub("(GG).*", "", gov_exp$Indicator)
gov_exp <- gov_exp %>% drop_na(Indicator)
df2 <- merge(df_LGQ, gov_exp, by = c("Country", "Time"), all.x = TRUE)
df2_2015 <- filter(df2, Time %in% c(2015))
tot_sp <- filter(gov_exp, Indicator %in% c('Social benefits and social transfers in kind')) 

df3 <- merge(df2, tot_sp, by = c("Country", "Time"), all.x = TRUE)
av_mw_dif <- df3 %>% 
  summarise(global_mw_dif  = mean(mw_dif))

WLFP_dev <- df3 %>% 
  group_by(Country) %>% 
  summarise(av_mwdif = (mean(mw_dif) - av_mw_dif$global_mw_dif) / av_mw_dif$global_mw_dif)

df3 <- merge(df3, WLFP_dev, by = c("Country"), all.x = TRUE)
df3 <- mutate(df3, SignWLFP = ifelse(av_mwdif > 0, "Above Average Male-Female LFP",
                                     "Below Average Male-Female LFP"))
soc_exp <- read.csv(here("data", "social_exp.csv"))

soc_exp <- filter(soc_exp, !Branch %in% c('Health', 'Old age', 'Total')) 
soc_exp_str <- soc_exp %>% 
  na.omit() %>%
  group_by(Country, Branch) %>% 
  summarise(av_spend = mean(Value))
soc_exp_str <- mutate(soc_exp_str, ratio_spend = av_spend/sum(av_spend))

df5 <- merge(df3, soc_exp_str, by = c("Country"), all.x = TRUE)
df5 <-rename(df5, Public.Spending.Branch = Branch )

# Social spending data for 2015:
famsp <- filter(df5, Public.Spending.Branch == 'Family')
famsp <- filter(famsp, Indicator.y %in% c('Social benefits and social transfers(')) 
fams15 <- filter(famsp, Time == 2015)

# Hours per daily activity:
time <- read.csv(here("data", "time.csv"))
time <- add_region(time) 
time2  <- filter(time, Description == 'Unpaid work')
time2  <- filter(time2, Sex != 'Total')
time2 <- merge(time2, fams15, by = c("Country"), all.x = TRUE)
time2<- filter(time2, !Country %in% c("China (People's Republic of)",
                                      'South Africa', 'Latvia'))
# Disposable income:
lifeQ <- read.csv("/Users/elenabg/exploratory_LFP/flp/data/life.csv")
lifeQ <- add_region(lifeQ) 
life = filter(lifeQ, IND == 'Household net adjusted disposable income')
life = filter(life, Inequality == 'Total')
df6 <- merge(df3, soc_exp_str, by = c("Country"))
df6 <- filter(df6, Time==2015)
df6 <- filter(df6, Branch=='Family')
df6 <- df6 %>% distinct(av_mwdif, .keep_all = TRUE)
fdf <- merge(life, df6,  by = c("Country"))

# Manual color palette for gender:
gencol <- gg_color_hue(length(unique(time2$Sex.x)))
names(gencol) <- unique(time2$Sex.x)
gencol["Men"] <- "#084081"
gencol["Women"] <- "#94407d"

################ Employment by sector and gender:
sectgen <- read.csv(here("data", "sectorgen.csv"))

# Create 'region' column:
sectgen <- add_region(sectgen) 
sectgen <- filter(sectgen, Region %in% c('Nordic', 'Rest')) 
sectw <- sectgen%>% 
  group_by(Time, Indicator, Region, Sex) %>% 
  summarise(av_share = mean(Share))
# Share of managerial positions by gender:
managen <- read.csv(here("data", "manag.csv"))

# Add region:
managen <- add_region(managen) 
managen <- filter(managen, Region %in% c('Nordic', 'Rest')) 
mangw <- managen%>% 
  group_by(Time, Indicator, Region, Sex) %>% 
  summarise(av_manshare = mean(Manag_Share)) %>%
  mutate(percent = av_manshare / sum(av_manshare))
# Share of own-employed:
entrep <- read.csv(here("data", "entrep.csv"))
entrep <- add_region(entrep) 
entrep <- filter(entrep, Region %in% c('Nordic', 'Rest')) 
entrep  <- filter(entrep, Sex != 'All')
entrep  <- filter(entrep, Age == 'Total')
entrep  <- filter(entrep, Indicator %in% c('Share of employed who are employers',
                           'Share of employed who are own-account workers'))
entrw <- entrep%>% 
  group_by(Time, Indicator, Region, Sex) %>% 
  summarise(av_entr = mean(Entrep)) %>%
  mutate(percent = av_entr / sum(av_entr))

1. Women Labor Participation Over Time

We start the analysis with a couple of clear stylized facts shown in the plot below. First, while male LFP has remained steady and at higher levels than female LFP, the latter has continuously increased in virtually all regions accross OECD countries since the 1980’s.

Second, participation levels and growth rates, even if increasing everywhere, are quite different between regions, with the Nordic countries showing the highest one througout the period.

p <- ggplot(data = lfpmw, mapping = aes(x = Time, y = LFP_W)) + 
  theme_ebg +
  geom_smooth(data = lfpmw, aes(color=Region), se = FALSE, span=0.15, method='loess', size = 0.75) + # we smooth (very lightly) to correct strong 
  # seasonal patterns
  geom_smooth(data = lfpmw, se = FALSE, aes(y = LFP, color=Region),
              span=0.10, method='loess', linetype="dashed", size = 0.75) +
  scale_color_manual(values=mycols) +
  ggtitle("Female Labor Participation Growing since the 80's,\nMale Remains Steady\n") +
  xlab("Year") + ylab(" Labor Force Participation (%)") +
  labs(subtitle = "While male LFP has remained steady and at higher levels than female LFP,\n the latter has continuously increased  in virtually all regions accross OECD countries.\n",
       caption = "Source: OECD Labor Statistics, 1980-2017 \n
       Labor Force Participation Rate (LFP) = Number of people available for work as a percentage \n of the total working age population.") +
  annotate("text", x = 2008, y = 48, label = "- - -  Male \n  ___ Female ", 
           family = "Trebuchet MS", colour = "grey26", size = 6.5) +
  coord_cartesian(xlim = c(1980, 2017)) +
  coord_cartesian(ylim = c(40, 100)) 

plot_rounded(p)

2. Hours Worked and Skill Mismatch

Some of the economic and social benefits of higher female labor participation are well documented. One of the most widely discussed is the (complex and endogenous) link between economic development –traditionally measured by GDP per capita, poverty, or inequality– and female employment. Here we explore another possibility: whether higher female participation rates could be associated with less skill overqualification in the labor market, the rationale being that in settings where people work too many hours, more people with a diverse set of skills entering the labor market could help rebalance the skill levels.

As the plots below suggest, countries with relatively too many working hours per week have, on average, higher levels of job skill overqualification, with the Nordics being the most skill-balanced and having the least hour-intensive workweeks.

Interestingly, higher female labor participation rates are associated with lower overqualification levels. This lends some evidence to the hypothesis that women’s entry to the labor market balances the skill needs in different sectors.

##########  Hours Worked/LFP and Overskill Mismatch

########## 2.1  Hours Worked

p <- ggplot(data = hw_mm_16, mapping = aes(x = Value.x, y = Value.y)) +
  geom_jitter(mapping = aes(fill = Region), pch=21, alpha=0.8, size = 4, colour='dark gray') + 
  scale_fill_manual(values=mycols) +
  scale_colour_manual(values=mycols) +
  geom_smooth(data = hw_mm, se = FALSE, aes(x = Value.x, y = Value.y),
              method='lm', size = 0.5, show.legend = FALSE, linetype='dashed', color='dark gray') +
  theme_ebg +
  ggtitle("Longer Workdays Point \n to Higher Job Skill Overqualification\n") + 
  labs(subtitle = "Countries with more hours of work per week show higher rates of overskilled workers\n", 
       caption = "Source: OECD Labor Statistics.\n Note: Each point represents a country in 2016. \n Hours Worked = Annual average weekly hours worked per worker \n Overqualification Mismatch = Percentage of workers with an educational \n attainment higher than that required by their job") +
  xlab("Hours Worked") + ylab("Job Skill Overqualification (%)") +
  coord_cartesian(ylim = c(0, 40)) +
  coord_cartesian(xlim = c(1200, 2500))

plot_rounded(p)

########## 2.2 Labor Participation by Gender and Job Overqualification

p <- ggplot(data = epr_lfs_mmna, mapping = aes(x = Value.x, y = Value.y)) +
  geom_jitter(mapping = aes(fill = Region), pch=21, alpha=0.7, colour='dark gray', size = 4, show.legend = FALSE) + 
  scale_fill_manual(values=mycols) +
  scale_colour_manual(values=mycols) +
  geom_smooth(data = epr_lfs_mm, se = FALSE, aes(x = Value.x, y = Value.y),
              method='lm', size = 0.5, show.legend = FALSE, linetype='dashed', color='dark gray') +
  theme_ebg +
  facet_wrap( ~ Sex, ncol=3) +
  ggtitle("... While Higher Female Participation \n Points to Lower Overqualification\n") +
  xlab("Labor Force Participation (%)") + ylab("Job Skill Overqualification (%)") +
  labs(subtitle = "Countries with higher female LFP rates also show lower skill overqualification in the labor market.",
       caption = "Source: OECD Labor Statistics.\n Note: Each point represents a country in 2016.\n Hours Worked = Annual average weekly hours worked per worker \n Overqualification Mismatch = Percentage of workers with an educational\n attainment higher than that required by their job") 

plot_rounded(p)

3. Women LFP, Goverment Size, and Job Quality

The plot below suggests that countries with a higher female labor participation have, on average, larger public sectors, as well as higher job quality levels (higer job strain levels indicating less job quality). A regional clustering pattern similar of that the previous graphs is also clear, with Nordic countries at the upper right corner and lower reported job strain levels.

Whether and the extent to which this relations are meaningful, of course, requires more careful analysis and more granular data. For instance, are there specific types of public spending that might explain both large government size and women participation in the labor market? This and related issues can be explored in later stages of the analysis.

p <- ggplot(data = df_LGQ, mapping = aes(x = Tax, y = mw_dif, 
                           size = JobStrain,  colour=Time, fill=Time)) +
  theme_ebg +
  geom_jitter(alpha=0.8) + 
  scale_fill_gradient(low = "black", high = "turquoise" ) +
  scale_colour_gradient(low = "black", high = "turquoise") +
  scale_size(range = c(1, 6)) +
  ggtitle("Women Have More (and Better) Jobs in Countries \n with Larger Public Sectors\n") +
  xlab("Tax Revenues (% GDP)") + ylab("Male-Female LFP Gap (percent points)") +
  labs(subtitle = "Job strain (basically, the opposite of job quality) levels tend to be lower\n in countries with relatively higher female labor participation\n and higher public sector size",
       caption = "Source: OECD Statistics, 1980-2017\n Note: Each point represents a country in a given year from 1980 to 2017.\n Job strain index = Proportion of workers facing more job demands than the number of resources they\n have at their disposal.") +
  scale_y_continuous(expand = c(0, 5)) +
  scale_x_continuous(expand = c(0, 5))
plot_rounded(p)

4. Household Net Income and Gender LFP Gap

Data also shows that household net disposable income is higher in countries with higher rates of female labor participation. At a first glance, this isn’t that surprising (after all, this means more households with two workers instead of one).

However, let’s recall that net disposable income corresponds to income after-tax, and that high LFP countries tend to have considerably higher taxation rates, as we saw before.

### World Shapefile
world <- ne_countries(scale = "medium", returnclass = "sf")
world <-rename(world,  Country=sovereignt)
world$Country[world$Country %in% "United States of America"] <- "United States"
dfw <- right_join(fdf, world, by='Country')
dfw <- dfw %>%
  st_as_sf(na.fail = FALSE, crs = 4326) 

world_points<- st_centroid(dfw)
world_points <- cbind(dfw, st_coordinates(st_centroid(dfw$geometry)))

p <- ggplot(data = dfw) +
  theme_ebg +
  theme(panel.background = element_rect(size=0.5, colour = "grey90", fill = '#032438')) +
  ggtitle("Lower Gender Labor Participation Gaps, Higher Household Income") +
  guides(fill=guide_legend(title='Household Net\n Disposable Income\n (USD)')) +
  labs(subtitle = "Labor participation gap between men and women tends to be lower in countries\n with higher public sector size",
       caption = "Source: OECD Statistics, 2017 \n Note: 1) Gender LFP gap is measured as the absolute difference \nbetween male and female LFP ratios.\n 2) Household net disposable income is measured in 2017 USD for each country.") +
  xlab("") + ylab("") +
  geom_sf(aes(fill = Inc), size=0.25, alpha=0.75, color = 'black') +
  geom_col(data= world_points, aes(x=X, y=mw_dif, fill=Inc), 
           alpha=0.45,  width=12) +
  scale_fill_continuous(low = "ivory", high = "red2") +
  scale_colour_continuous(low = "ivory", high = "red2") +
  annotate("text", x=-160, y=36, label="Gender LFP Gap\n(percentage points, 0-50)", 
           size=6, color='white', family = "Trebuchet MS") 

plot_rounded(p)

5. Social Spending Structure and Gender LFP Gap

So, government size is correlated with WLFP. That doesn’t tell us much yet: what are the mechanisms through which government spending affects female LFP? With this in mind, we explore how spending structures differ between countries with above and below average male-female labor participation gaps.

In the chart below we show the distribution of social spending by region by branch, with regions classifying OECD countries in their totality as in all the previous graphs. This regional classification now makes sense given what we saw in their WLFP trends over time. To recall, Nordic countries have the highest levels, followed by Esatern, Continetal and Mediterranean Europe, and Asia and the rest of the OECD countries (notably including US, UK, Latin America and Canada, among others), with the lowest levels of WLFP.

This chart reveals two important insights: the first is rather counterintuitive and suggests that countries with higher WLFP spend less in unemployment programs.

The second one makes intuitive sense but it reassuring to see it in the data: countries with higher female labor spend more in family policies (e.g. childcare programs, maternity-paternity leave, and the like.).

It makes sense that providing women with alternatives to spending their time in household work, they are more incentivized to join the labor market and less so to spend time engaing un unpaid labor (typically encompassing child care, adult care and routine housework).

# Build arbitrary color palettes for spending branches:
branchcols <- gg_color_hue(length(unique(means$Region)))
names(branchcols ) <- unique(means$Region)

branchcols ["Active labour market programmes"] <- "#efedf5"
branchcols ["Family"] <- "#fcbba1"
branchcols ["Unemployment"] <- "#c7e9b4"
branchcols ["Housing"] <- "#dadaeb"
branchcols ["Incapacity related"] <- "#bcbddc"
branchcols ["Other social policy areas"] <- "#9e9ac8"
branchcols ["Survivors"] <- "#8c96c6"

p <- ggplot(df5, aes(x=reorder(Region, av_mwdif), y = ratio_spend, fill = Public.Spending.Branch)) + 
  theme_ebg +
  scale_fill_manual(labels = c("Labor market programmes", "Family", 'Housing',
                               'Incapacity related', "Other social policy areas", "Survivors", "Unemployment"),
                    values=branchcols) +
  geom_bar(position = "fill", stat = "identity") +
  geom_point(data=df5, aes(x=Region, y = av_mwdif) ,
             size =  2.5, alpha = 0.5, pch = 22, color="salmon", fill="peachpuff") +
  ggtitle("It's Spending Distribution What Counts: Lower Male-Female \n Participation Gaps Where Family Spending Share is Higher") +
  xlab("Region") + ylab("Percentage") +
  guides(fill=guide_legend(title='Social Spending Branch')) +
  labs(subtitle = "Countries with lower female labor spend less \n in family-friendly public policies and more in unemployment programmes",
       caption = "\nSource: OECD Social Expenditure Database, 1980-2017 \n
       Notes: 1) Each black point represents a country within its corresponding region.\n 2) For visual clarity, spending in health and elderly population were not considered,\n as they together represent, by far, the largest spending percentage in every region.") +
  coord_cartesian(ylim = c(-1, 1)) +
  scale_y_continuous(expand = c(-1, 2)) +
  theme(axis.text.x = element_text(angle = 90)) +
  annotate("text", label = '•  Male-Female LFP Gap\n (% deviation from OECD average)',
           x = 4, y = -0.5, size= 4.5, family = "Trebuchet MS", color='grey40' )
plot_rounded(p)

6. Time Use by Gender and Social Expenditures

If it is the case that higher public spending on family policies incentivizes women to enter the workforce, then that should be reflected in the way they allocate their time during the day, expecting more even gender distributions of daily unpaid work (as mentioned before, this mainly includes child and adult care as well as house chores) in countries with higher social expenditure levels.

As we see in the diagram below, that is the case, with quite dramatic time use differences between genders in Nordic countries and the rest, with Mexico, Turkey and Japan being at the opposite extreme than Nordics, in line with their respective social spending distributions.

p <- ggplot(time2, aes(area = Value, label = Country,
                  subgroup=Sex.x, fill=Expend.y)) +
  geom_treemap(alpha=0.6) +
  scale_fill_gradient(low = "black", high = "turquoise" ) +
  theme_ebg +
  geom_treemap_subgroup_border(color = "white", size=4) +
  #geom_treemap_subgroup_text(aes(color = Sex.x), place = "top",
            #alpha= 0.5, grow=TRUE, family = "Trebuchet MS") +
  guides(fill=guide_legend(title='Social Expenditures\n (% GDP)')) +
  scale_color_manual(values=gencol) +
  geom_treemap_text(aes(color = Sex.x), alpha= 0.75, 
                    place = "centre", grow=TRUE, family = "Trebuchet MS") +
  ggtitle("Daily Time Spent in Unpaid Labor by Gender\n") +
  scale_y_continuous(expand=c(0,0)) +
  scale_x_continuous(expand=c(0,0)) +
  labs(subtitle = " Women (<-) spend considerably more time in unpaid work than men (->) \n in countries with lower social expenditures",
       caption = "Source: OECD Social Expenditure Database, \nOECD Time Use Database (homogeneized national surveys).\n
       Notes: 1) Time surveys classify activities across a total duration of 24 hours (or 1440 minutes) per day. \n 2) Data for social expenditures corresponds to 2015.\n 3) Data for time use corresponds to latest available year per country.") 
plot_rounded(p)

7. Gender Parity Within Sectors and Female Entrepeneurship

It is important to analyze not only whether women are working but also what the employment outcomes are for women who do enter the labor force. We’ve seen some stylized facts evidencing that high social expenditures –particularly via family-friendly policies– are associated with higher female labor participation. It’s then natural to wonder if such female labor growth has been evenly distributed among different economic sectors, and also if it has been reflected in higher career growth and entrepeneurship levels for women.

As we see below, these scenarios are not reflected in the data: sectorial distribution – the economic sectors where women work (mainly, services) are not very different between the more egalitarian Nordic countries and the rest of the OECD countries.

Further, in Nordic countries, gender differences between sectors is larger than in other countries.

p <- ggplot(data = sectw, aes(x = Time, y = av_share, fill = Indicator)) +
  theme_ebg +
  geom_area() +
  scale_fill_manual(labels = c("Agriculture", "Industry", 'Services'),
                    values = c("seagreen3", "lightsteelblue", "rosybrown2")) +
  ggtitle("Working Women Go to Services Sector: Gender Labor \n Distribution by Economic Sector\n") +
  labs(subtitle = "Even in Nordic countries, where women labor participation is highest,\n labor distribution by economic sector is not that different from other countries",
caption = "Source: OECD Labor Statistics:: Gender Entrepeneurship") +
  guides(fill=guide_legend(title='Economic Sector')) +
  facet_grid(Sex ~Region) +
  xlab("") + ylab("Share Within Employed Population (%)")
plot_rounded(p)

We see something similar happening with the share of managerial positions and entrepeneurship levels: not much of a difference bewteen Nordics and the rest.

Why is that the case? That sets forth new interesting topics for later analysis.

p <- ggplot(data = mangw, aes(x = Time, y = percent, fill = Sex)) +
  theme_ebg +
  geom_area() +
  scale_fill_manual(labels = c("Men", "Women"),
            values = c("lightsteelblue", "rosybrown2")) +
  ggtitle("Career growth and entrepeneurship levels for women \n are not that different either...\n") +
  labs(subtitle = "Share of Managerial positions for women in Nordic countries are \n not far from those in other countries",
 caption = "Source: OECD Labor Statistics:: Gender Entrepeneurship") +
  facet_grid(~ Region) +
  xlab("") + ylab("Share of Managerial Positions (%)") 
plot_rounded(p)

p <- ggplot(data = entrw, aes(x = Time, y = percent, fill = Sex)) +
  theme_ebg +
  geom_area() +
  scale_fill_manual(labels = c("Men", "Women"),
                    values = c("lightsteelblue", "rosybrown2")) +
  ggtitle("Self-Employed Female Workers Ratio \n Remain Low in Nordic Countries\n") +
  labs(subtitle = "Measures of entrepeneurship levels among women do not differ considerably between \n the high-family spending Nordics and the rest ",
       caption = "Source: OECD Labor Statistics:: Gender Entrepeneurship") +
  facet_grid(Region ~ Indicator) +
  xlab("") + ylab("Self-Employment by Gender (%)")
plot_rounded(p)


  1. All data used here is collected and made available by OECD Statistics at https://stats.oecd.org under the sections detailed below for the 35 OECD member countries: Australia, Austria, Belgium, Canada, Costa Rica, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Israel, Italy, Japan, Korea, Latvia, Lithuania, Luxembourg, Mexico, Netherlands, New Zealand, Norway, Portugal, Russia, Slovak Republic, Slovenia, Spain, Sweden, Switzerland, Turkey, United Kingdom, and the United States.